//**********全局变量begin*******
var projectId;//记录目前的项目UUID
var fileName;//记录目前要拿的文件UUID
//var zuulUrl = "http://10.60.8.156:8000";//zuul地址
var zuulUrl="http://trainingZuul.xiaolei.gao:8764";//
var authServiceName = "training-auth-manage-service";//权限服务名称
var taskServiceName = "training-task-manage-service";//任务服务名称
var testServiceName = "training-test-manage-service";//测试服务名称
var webEditorServiceName = "training-web-editor-service";//编辑器服务名
var webServiceName = "training-web-service";//前端页面服务名
var ImageServiceName = "training-image-manage-service";//图片服务名
var FileServiceName = "training-filemanage-service";//文件服务名
//**********全局变量end*********
/* 初始化summernote编辑器 */
$(document).ready(function () {
    $('#summernote').summernote();
});


//$("#summernote").summernote({
//    styleWithSpan: false,
//    toolbar: []//隐藏工具栏
//});

//$('#summernote').summernote('disable'); //禁止编辑器
//$('#summernote').summernote('enable');  //启用编辑器

/* 编辑器图片上传 */
$('#summernote').summernote({
    //回调函数的onImageUpload触发事件
    placeholder: '请输入文档内容',
    lang: 'zh-CN',
    height: 235,
    maxHeight: 235,
    callbacks: {
        onImageUpload: function (file) {  //图片默认以二进制的形式存储到数据库，调用此方法将请求后台将图片存储到服务器，返回图片请求地址到前端
            //将图片放入Formdate对象中
            var formData = new FormData();
            //‘picture’为后台获取的文件名，file[0]是要上传的文件
            formData.append("file", file[0]);
            $.ajax({
                type: 'post',
                url: zuulUrl + '/' + ImageServiceName + '/',
                cache: false,
                data: formData,
                processData: false,
                contentType: false,
                dataType: 'text', //请求成功后，后台返回图片访问地址字符串，故此以text格式获取，而不是json格式
                success: function (picture) {
                    $('#summernote').summernote('insertImage', zuulUrl + '/' + ImageServiceName + '/' + picture);
                    console.log("上传成功:" + zuulUrl + '/' + ImageServiceName + '/' + picture);
                },
                error: function () {
                    alert("上传失败");
                }
            });
        }
    }
});


/*获取父页面传递过来的数据*/
window.addEventListener('message', listenersFunction, false);

//监听器的函数
function listenersFunction(e) {
    console.log('执行了');
    projectId = e.data.projectId;
    fileName = e.data.fileName;
    if (e.data.status == 0)//如果是新建操作
        $('#summernote').summernote('code', ''); //将编辑器中的内容清空
    else if (e.data.status == 1)//如果是编辑操作则去后台获取文件内容填充到编辑器
        getEditor();
    else if (e.data.status == 2)//如果是保存操作
        saveEditor();
    else if (e.data.status == 5) {//要将传过来的内容直接显示到编辑器
        $('#summernote').summernote('code', e.data.text);
    } else if (e.data.status == 6) {//要将编辑器的内容传回到父页面
        window.parent.postMessage($('#summernote').summernote("code"), zuulUrl + '/' + webServiceName + '/training');
    }
}

/* 上传编辑器编辑的内容 */
function saveEditor() {
    var htmldata = $('#summernote').summernote("code"); //获取编辑器编辑的数据
    $.ajax({
        type: 'POST',
        url: zuulUrl + '/' + FileServiceName + '/string',
        data: {     //将数据转换为json格式
            fileString: htmldata,
            definePath: projectId,
            fileUuid: fileName
        },
        async: true,   //异步
        dataType: "text",
        success: function (data) {
            //window.parent.postMessage(data,'*'); //*:目标地址,data:后端返回的数据,将数据发送到父页面
        },
        error: function (data) {
            alert("上传文件失败！");
        }
    });
}

/*去文件服务获取html代码 */
function getEditor() {
    $.ajax({
        type: 'get',
        url: zuulUrl + '/' + FileServiceName + '/' + projectId + '/' + fileName,
        cache: false,
        processData: false,
        contentType: false,
        async: true,
        dataType: 'text', //请求成功后，返回text格式
        success: function (data) {
            $('#summernote').summernote('code', data); //将data数据填入编辑器中
        },
        error: function (data) {
            alert("获取文件失败！");
        }
    });
}